
 #include <stdio.h>
 #include <termios.h>
 #include <string.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <unistd.h>
 #include "gps.h"



int main()
{
    int fd; //文件描述符
    char buf[128]; //读取数据的缓冲区
    ssize_t count; //读取数据的字节数
    struct gprmc_data data; //存储解析后的GPS数据的结构体

     //步骤一：打开串口设备
    fd = open("/dev/ttyS9",O_RDWR|O_NOCTTY|O_NDELAY);
    if(fd<0){
        printf("open error\n"); //打开失败提示
        return -1; //返回错误码
    }

    //步骤二：设置串口参数
    set_uart(fd,9600,8,'N',1);
    sleep(2); //等待设备初始化

    //步骤三：循环读取GPS数据
    while(1){
        count = read(fd,buf,sizeof(buf)); //从串口读取数据
        memset(&data,0,sizeof(data)); //清空存储数据的结构体
        get_gps_data(buf,&data); //解析GPS数据
        sleep(2); //等待下一次读取
    }

    //步骤四：关闭串口设备
    close(fd);
    return 0;
 }
